Bus Message Actions

Hide Topic ContentsShow Topic Contents
    1. Download
    2. Examples of Incoming B2MML Messages

The Bus Stop is constantly watching the Bus. When it sees a message that matches with a message type and operation combination that it's configured for it downloads it. You can assign one or multiple actions to each operation available in each Bus message.

Download

EnqueueOrderOperation

Enqueue a new order for the specific operation to the list of orders that the OT bus stop has to run.

The following parameter must be set:

Execute: Select Always to process the action without any restrictions.  Select Only If to only process messages if a valid Xpath is applied on incoming bus messages (B2MML). Please see below for XPath examples.

DownloadOrderOperation

Enqueue and download the order directly to a channel message. This action is used as a result of the RequestOperationsSchedule action.

The following parameters must be set:

Operation: Either a static operation number selected from the operations enabled in the Operations tab or a variable operation number taken from a specified Field of the received message.

Message: A channel message subscribed to in the Channels tab. The order will be downloaded via this channel message.

Execute: Select Always to process the action without any restrictions.  Select Only If to only process messages if a valid Xpath is applied on incoming bus messages (B2MML). Please see below for XPath examples.

UpdateBatch

When information from the Bus is received the batch record (production run) is updated with the information it contains.

This can be used in different ways. The first equipment on the production line can start the current batch. After each cycle UpdateBatch is called to append production information from the shopfloor channel message. The last equipment with UpdateBatch can close current batch and send a ProcessOperationPerformance message to the Bus.

The following parameters must be set:

Operation: Either a static operation number selected from the operations enabled in the Operations tab or a variable operation number taken from a specified Field of the received message.

Close batch: Should the batch be closed? This is either a static answer (Yes/No) or a variable answer taken from a specified Field of the received message.

Dispose batch: Should the batch be disposed? This is either a static answer (Yes/No) or a variable answer taken from a specified Field of the received message.

Send operations performance: Should a summary of all the update batch actions for this order be sent to the Bus as a ProcessOperationPerformance message? This is either a static answer (Yes/No) or a variable answer taken from a specified Field of the received message.

Execute: Select Always to process the action without any restrictions.  Select Only If to only process messages if a valid Xpath is applied on incoming bus messages (B2MML). Please see below for XPath examples.

Export

Download content of this bus message to the selected channel message.

The following parameter must be set:

Execute: Select Always to process the action without any restrictions.  Select Only If to only process messages if a valid Xpath is applied on incoming bus messages (B2MML). Please see below for XPath examples.

Examples of Incoming B2MML Messages

Example 1 - An XPath without B2MML Extensions

<WorkPerformance xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <PublishedDate>2020-12-01T10:43:24.6496334+01:00</PublishedDate>

  <WorkResponse>

    <JobResponse>

      <JobOrderID />

      <StartTime>2020-12-01T10:43:24.6040301+01:00</StartTime>

      <JobResponseData>

        <ID>Event_Type</ID>

        <Value>

          <ValueString>ABCD</ValueString>

        </Value>

      </JobResponseData>

      <JobResponseData>

        <ID>Header_General</ID>

        <Value>

          <ValueString>780</ValueString>

        </Value>

      </JobResponseData>

      <JobResponseData>

        <ID>Header_Message_Length</ID>

        <Value>

          <ValueString>62</ValueString>

        </Value>

      </JobResponseData>

    </JobResponse>

  </WorkResponse>

</WorkPerformance>

The incoming B2MML message should only be processed when the JobResponseData with ID Event Data has the Value/ValueString set to ABCD. To achieve this, the Execute parameter should be set to: Only If and the XPath parameter should contain the following value:

//JobResponseData[ID = "Event_Type"][./Value/ValueString = "ABCD"]


Example 2 - An XPath with B2MML Extensions

<?xml version="1.0" encoding="utf-8"?>

<ProductionSchedule xmlns="http://www.mesa.org/xml/B2MML-V0600" xmlns:Extended="http://www.mesa.org/xml/B2MML-V0600-AllExtensions">

  <ID>Default</ID>

  <ProductionRequest>

    <ID>1710643</ID>

    <StartTime>2020-03-06T23:05:43</StartTime>

    <EndTime>2020-03-10T04:23:26</EndTime>

    <Extended:String1>TestString1</Extended:String1>

    <Extended:String2>TestString2</Extended:String2>

  </ProductionRequest>

</ProductionSchedule>

The incoming B2MML message should only be processed when the Extended:String2 node contains the value TestString. To achieve this, the Execute parameter should be set to: Only If and the XPath parameter should contain the following value:

//ProductionRequest[ID='1710643'][./Extended:String2='TestString2']

 

Can we improve this topic?